@charset "utf-8";




/* ------------------------------------------------------------------------------------------------
 * RESPONSIVE
 * ------------------------------------------------------------------------------------------------ */

@media screen and (max-width:1399px) {
	.l-banner_movie {
		width: 28%;
	}

	.l-floating {
		width: 260px;
		height: 183px;
		border-radius: 0;
		position: fixed;
		top: 11%;
	}

}

@media screen and (max-width:1024px) {

	.l-Bottom-nav .u-inner {
		padding: 40px 20px;
	}
	
	.l-kv .is-pc {
		display: none;
	}

	.l-kv .is-sp {
		display: block;
	}

	.l-kv_title_0 {
		width: auto;
		max-width: 1110px;
	}

	.l-kv {
		/*display: none;*/
	}

	.l-kv_sp {
		display: block;
		padding: 0;
		margin-top: 60px;
	}

	.l-kv_sp img {
		width: 100%;
	}

	.l-banner_media {
		text-align: center;
		background: #050f1e;
		padding: 10px 0 10px 0;
		position: static;
		display: block;
	}

	.l-banner .is-border {
		padding: 5px 10px;
		margin-left: 10px;
		font-size: 2.6rem;
	}

	.l-banner .l-copy {
		font-size: 2.6rem;
	}
	
	.l-modal-cover:after {
		text-align: center;
		padding: 10px 0;
		width: calc(100% - 40px);
		top: auto;
		right: auto;
		bottom: 20px;
		left: 50%;
		transform: translateX(-50%);
	}
	
	.l-modal {
		width: calc(100% - 60px);
	}
	
	.l-modal .js-modal-close {
		top: auto;
		bottom: -50px;
		right: auto;
		left: 50%;
		transform: translate(-50%,50%) scale(.8);
	}
	
	.l-banner_movie {
		width: 25%;
	}
	
	
	
} /* END RESPONSIVE 979px */

@media screen and (max-width:767px) {
	
	.l-banner__3point {
		display: block;
	}
	
	.l-banner__3point > div {
		width: 100%;
	}
	
	.l-banner_media {
		display: none;
	}

	.is-home.fp-viewing-0 {
		background-color: #fff;
	}

	.is-home .g-container {
		padding: 0;
		position: relative;

	}


	.is-home .u-content {
		position: relative;
	}

	.is-home .g-footer {}

	.is-home .l-btn_container {
		padding-top: 30px;
	}

	.l-btn a {
		padding: 12px 0;
	}

	.l-btn:before {
		content: '';
		top: 37%;
	}



	/* ------------------------------------------------------------------------------------------------
 * Loading
 * ------------------------------------------------------------------------------------------------ */
	.l-loading {
		-webkit-transition: 0.3s;
		transition: 0.3s;
		-webkit-animation: fadeOut 5s;
		animation: fadeOut 5s;
		-webkit-animation-fill-mode: both;
		animation-fill-mode: both;
	}

	.l-loading:before,
	.l-loading:after {
		width: 200%;
		height: 500px;
	}

	.l-loading .l-loading-logo {
		width: 150px;
	}

	.l-loading .l-loading-text {
		width: 70%;
	}

	.l-loading .l-loading-text_2 {
		width: 80%;
	}

	.c-op-skip {
		bottom: 40px;
		right: 20px;
		-webkit-transition: 0.3s;
		transition: 0.3s;
	}


	.l-loading:before {
		-webkit-transform: translate(0, -300px) skewY(-15deg);
		-ms-transform: translate(0, -300px) skewY(-15deg);
		transform: translate(0, -300px) skewY(-15deg);
	}

	@-webkit-keyframes load-left {
		0% {
			-webkit-transform: translate(0, -300px) skewY(-15deg);
			transform: translate(0, -300px) skewY(-15deg);
		}

		100% {
			-webkit-transform: translate(-200px, -200px) skewY(-35deg);
			transform: translate(-200px, -200px) skewY(-35deg);
		}
	}

	@keyframes load-left {
		0% {
			-webkit-transform: translate(0, -300px) skewY(-15deg);
			transform: translate(0, -300px) skewY(-15deg);
		}

		100% {
			-webkit-transform: translate(-200px, -200px) skewY(-35deg);
			transform: translate(-200px, -200px) skewY(-35deg);
		}
	}

	.l-loading:after {
		-webkit-transform: translate(0, 300px) skewY(-15deg);
		-ms-transform: translate(0, 300px) skewY(-15deg);
		transform: translate(0, 300px) skewY(-15deg);
	}

	@-webkit-keyframes load-right {
		0% {
			-webkit-transform: translate(0, 300px) skewY(-15deg);
			transform: translate(0, 300px) skewY(-15deg);
		}

		100% {
			-webkit-transform: translate(200px, 200px) skewY(-35deg);
			transform: translate(200px, 200px) skewY(-35deg);
		}
	}

	@keyframes load-right {
		0% {
			-webkit-transform: translate(0, 300px) skewY(-15deg);
			transform: translate(0, 300px) skewY(-15deg);
		}

		100% {
			-webkit-transform: translate(200px, 200px) skewY(-35deg);
			transform: translate(200px, 200px) skewY(-35deg);
		}
	}

	@-webkit-keyframes l-loading {
		0% {
			opacity: 1;
		}

		100% {
			opacity: 0;
		}
	}

	@keyframes l-loading {
		0% {
			opacity: 1;
		}

		100% {
			opacity: 0;
		}
	}

	/* ------------------------------------------------------------------------------------------------
 * key visual
 * ------------------------------------------------------------------------------------------------ */
	.l-kv .fp-tableCell {
		vertical-align: top;
	}

	.fp-viewing-contents-keyvisual .l-scene-next-button {
		bottom: 10px;
	}

	.l-main-visual {
		margin: 60px 0 0;
		background-position: left 50% top 0;
		background-size: 100% auto;
		background-color: #1d769b;
		/* バナーの背景色に合わせる */
	}

	.l-kv-banner {
		padding-top: 190px;
		position: relative;
		bottom: auto;
		left: auto;
	}

	.l-kv-banner-inner {
		min-height: 0;
		bottom: auto;
		left: auto;
	}

	.l-kv-banner-item:nth-of-type(2) {
		padding: 15px;
	}

	.l-kv-banner-item:nth-of-type(3) {
		padding: 10px 0;
	}

	.l-kv-banner-item:nth-of-type(3) .e-img {
		width: 200px;
	}

	.l-kv-banner-item {
		text-align: center;
		width: 100% !important;
		padding: 0;
		display: block;
	}

	.l-kv-banner-button {
		display: none;
	}

	.l-loop-slide-wrap {
		width: calc(100% + 40px);
		margin: 0 0 0 -20px;
		padding: 20px 0 0;
	}

	.fp-show-active {
		display: none;
	}

	.l-kv_title,
	.l-kv_title_0,
	.l-kv_title_2 {
		display: none;
	}

	.l-kv_caption {
		bottom: 5px;
	}

	.l-banner_movie {
		position: static;
		width: 100%;
	}

	/* ------------------------------------------------------------------------------------------------
 * Useful
 * ------------------------------------------------------------------------------------------------ */
	.l-useful .u-inner {
		padding: 30px 0 0;
	}

	.l-useful-wrap-title {
		width: 80%;
	}

	.l-useful-wrap-title .e-sub {
		font-size: 1.6rem;
		margin: 0 0 10px;
		display: block;
	}

	.l-useful-wrap-title .e-main {
		font-size: 2.4rem;
	}

	.l-useful-wrap {
		padding: 0 15px 60px;
	}

	.l-useful-item {
		width: 50%;
	}

	.l-scene-title-mid .u-color-line {
		background-size: auto 2px !important;
	}


	.is-home .g-hapia-nav {
		width: 100%;
		display: block;
		display: none;
	}

	.is-home .g-footer-nav_button {
		display: none;
	}

	.is-home .g-footer-pagetop {
		/*		bottom: 5px;*/

	}

	.is-home .g-footer-pagetop {
		bottom: 20%;
		display: table;
		right: 6px;
	}

	.g-footer-pagetop .e-link {
		display: table-cell;
		margin-bottom: 0;
	}


	/* 2018.01.26 */
	.l-kv-banner-items {
		width: 47.5%;
		top: 185px;
		right: 50%;
		-webkit-transform: translateX(50%);
		-ms-transform: translateX(50%);
		transform: translateX(50%);
		z-index: 30;
	}

	#colorbox,
	#cboxWrapper {
		width: 100% !important;
		min-width: 0;
	}

	#cboxContent,
	#cboxLoadedContent {
		width: 100% !important;
	}

	.g-footer-info-merchant-wrap {
		border-top: 2px solid #ddd;
		background: #fff;
	}

	.g-footer-info-merchant-item {
		width: 100%;
		border-bottom: 1px solid #ddd;
	}

	.g-footer-info-merchant-item .e-link {
		min-height: 0;
		padding: 10px 0;
	}

	.g-footer-info-merchant-item.is-hapia-link .e-link {
		padding: 15px 0;
	}

	.is-home .u-show-media .g-footer-info-merchant-wrap {
		display: block;
	}

	.l-Bottom-nav {
		display: none;
	}

	/* ------------------------------------------------------------------------------------------------
	*KV
	* ------------------------------------------------------------------------------------------------ */
	.l-kv {
		/*		background: url(../../img/home/l-kv_sp.jpg) no-repeat center / 100% auto;
		height: 100vw;*/
		margin: 60px 0 0 0;
	}

	.u-content.l-kv {
		padding: 0;
	}

	.l-kv .l-banner {
		display: none;
	}

	.l-banner {
		text-align: center;
		padding: 0;
		background: #050f1e;
		position: relative;
		display: block;
		overflow: visible;
	}
	
	.l-banner__3point {
		padding: 0 20px;
	}
	
	.l-banner__3point > div {
		padding: 15px 0;
	}
	
	.l-banner__3point p {
		font-size: 1.6rem;
	}
	
	.l-banner__3point > div:nth-of-type(1) em {
		font-size: 4rem;
	}
	
	.l-banner__3point > div:nth-of-type(2) em {
		font-size: 2rem;
	}
	
	.l-banner__3point > div:nth-of-type(2) {
		border: 0;
		border-top: 1px solid rgba(255,255,255,.75);
		border-bottom: 1px solid rgba(255,255,255,.75);
	}
	
	.l-banner.is-sub {
		min-height: 0;
		padding: 25% 0 0;
	}
	
	.l-banner.is-sub p {
		font-size: 7vw;
		line-height: 1.35;
		letter-spacing: .1em;
	}
	
	.l-banner.is-sub p:before,
	.l-banner.is-sub p:after {
		width: 12%;
		padding: 4% 0 0;
	}
	
	.l-banner.is-sub p:before {
		left: calc(50% - 6.5em);
	}
	
	.l-banner.is-sub p:after {
		right: calc(50% - 6.5em);
	}
	
	.l-caption .u-inner {
		padding: 10px 20px 10px 20px;
	}

	/* ------------------------------------------------------------------------------------------------
	*access
	* ------------------------------------------------------------------------------------------------ */
	.l-access {
		display: block;
	}


	/* ------------------------------------------------------------------------------------------------
	*concept-2
	* ------------------------------------------------------------------------------------------------ */
	.l-concept2 .section-title {
		font-size: 1.4rem;
	}

	.l-concept2 .l-colom_container {
		margin: 0;
	}

	.l-concept2 .l-colom_container.is-2line .l-colom_item {
		width: 100%;
		padding: 0px 0 40px 0;
		display: block;
	}

	.l-concept2 .l-colom_container.is-2line.is-inner .is-right {
		min-width: auto;
		display: table-cell;
		width: 62%;
	}

	.l-concept2 .l-colom_container.is-2line.is-inner .is-left {
		max-width: none;
		display: table-cell;
		width: 37%;
	}

	.l-concept2 .l-colom_container.is-2line.is-inner {
		margin: 0px -10px 0px 0;
	}

	.l-concept2 .l-colom_container.is-2line.is-inner .l-colom_item {
		padding: 0 10px 0 0;
	}

	.l-concept2 .l-section_text {
		line-height: 1.6;
		padding-bottom: 20px;
	}

	.l-concept2 .l-colom_container {
		margin: 20px 0 -30px 0;
	}

	.l-concept2 .l-colom_container.is-2line.is-inner.is-height {
		margin-top: 0;
	}

	.l-concept2 .l-container {
		border-top: 1px solid #a8976d;
		padding: 0;
	}

	/* ------------------------------------------------------------------------------------------------
	*info
	* ------------------------------------------------------------------------------------------------ */
	.l-map {
		display: block;
	}

	.g-news-scroll dt {
		display: block;
		padding: 0 0px 10px 0;
	}

	.g-news-scroll dd {
		display: block;
		line-height: 1.6;
		padding: 0 0 20px 0;
	}

	.l-subtitle-min {
		font-size: 2rem;
	}

	.l-modal {
		width: calc(100% - 20px);
	}
	
	.l-modal .u-sp-zoom {
		color: #000;
		background: rgba(255,255,255,.75);
	}
	
	.l-floating {
		width: 100%;
		height: auto;
		border-radius: 0;
		position: fixed;
		top: auto;
		right: 0;
		z-index: 4000;
		-webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .25);
		box-shadow: 0 0 10px 0 rgba(0, 0, 0, .25);
		-webkit-transition: all 1s;
		transition: all 1s;
		display: block;
		bottom: 0;
		left: 0;
		/* position: relative; */
		/*transform: translateY(34.1%);*/
	}
	
	.l-floating.is-shadow-none {
		width: 100%;
	}
	
	.l-floating a {
		display: block;
	}

	.l-floating-image {
		position: relative;
	}

	.l-floating-image:before {
		content: "";
		height: 60px;
		margin-top: -60px;
		display: block;
		visibility: hidden;
	}

	.l-floating a:hover {
		opacity: 1;
	}

	.l-floating .js-close {
		text-align: center;
		min-width: 40px;
		min-height: 40px;
		top: -40px;
		left: 40px;
	}

	.l-floating .js-close:before {
		content: '×';
		font-size: 3rem;
		font-weight: 700;
		display: block;
		margin-top: 6px;
	}

	.is-section-close .l-floating .js-close:before {
		content: 'OPEN';
		font-size: 2rem;
		font-weight: 400;
		padding: 10px 0px 0px 0px;
		display: block;
		left: 1px;
		position: absolute;
		width: 60px;
		background: #ddd;
		height: 40px;
		top: -6px;
	}
	
	.is-section-close .l-floating {
		/*-webkit-transform: translate(0%, 0%) !important;
		-ms-transform: translate(0%, 50%) !important;*/
		-webkit-transform: translate(0%, 100%) !important;
		-ms-transform: translate(0%, 100%) !important;
		transform: translate(0%, 100%) !important;
	}
	
	.l-floating-image img.u-hide-media {
		display: none !important;
	}
	
	.l-floating-image img.u-show-media {
		display: block !important;
	}
	
	.g-footer-credit li a {
		text-align: center;
	}

}/* END RESPONSIVE 767px */

@media screen and (max-width: 374px) {
	.l-banner__3point p {
		font-size: 1.4rem;
	}
	
	.l-banner__3point > div:nth-of-type(2) em {
		font-size: 1.8rem;
	}
	
}

@media screen and (orientation: landscape) {}

/* END RESPONSIVE landscape */

@media print {}

/* END PRINT */
